package dev.grafosPert;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class DeclaraMatriz extends Activity {
	
	TextView Tentradavariables;
	int nVariables=0;
	int auxIntPrecedente=0, auxIntPredecesor=0;
	int [][]matrizPrelaciones;
	SharedPreferences prefs;
	Button Bmatrizsi;
	Button Bmatrizno;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.declaramatriz);

		Bmatrizsi = (Button) findViewById(R.id.bmatrizsi);
		Bmatrizno = (Button) findViewById(R.id.bmatrizno);
		Tentradavariables = (TextView)findViewById(R.id.tentradavariables);
		prefs = getSharedPreferences("MisPreferencias", Context.MODE_PRIVATE);
		nVariables = prefs.getInt("NumeroVariables", -1);
		
		if(nVariables == -1)
			Log.e("ERROR", "Error al leer variables del fichero de preferencias");
		else
			Log.e("BIEN", "Leidas " + Integer.toString(nVariables));
		
		//Reserva de memoria e inicialización de la matriz
		matrizPrelaciones = new int[nVariables+1][nVariables+1];
		for(int i=0; i<nVariables; i++)
			for(int j=0; j<nVariables; j++)
				matrizPrelaciones[i][j] = 0;

//		Tentradavariables.setText("¿" + (auxIntPrecedente+1) + " precede a " + (auxIntPredecesor+1) + "?");
		comprueba();
		Bmatrizsi.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				matrizPrelaciones[auxIntPrecedente][auxIntPredecesor] = 1;
				Log.e("Dato", "matriz[" + auxIntPrecedente + "][" + auxIntPredecesor + "] = 1");
				comprueba();
	        }
	    });

		Bmatrizno.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Log.e("Dato", "matriz[" + auxIntPrecedente + "][" + auxIntPredecesor + "] = 0");
				comprueba();
			}
		});
	}

	void comprueba()
	{
		auxIntPredecesor++;

		if(auxIntPredecesor == auxIntPrecedente)
			auxIntPredecesor++;

		if(auxIntPredecesor >= nVariables)
		{
			auxIntPredecesor = 0;
			auxIntPrecedente++;
		}

		if(auxIntPrecedente >= nVariables)
		{
			Ficheros file = new Ficheros(prefs.getString("Nombre", "Error"), getApplicationContext(), 0);
			file.guardaMatriz(matrizPrelaciones, nVariables, nVariables);
			file.finalizar();
			Log.e("Dato", "Nombre: " + prefs.getString("Nombre", "Error") + "FIN, nV: " + nVariables + " auxIntPrecedente: " + auxIntPrecedente);
		}
		else
			Tentradavariables.setText("¿" + (auxIntPrecedente+1) + " precede a " + (auxIntPredecesor+1) + "?");
	}
}
